home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / DMTDEMOS / READSECT.DEM < prev    next >
Text File  |  1994-07-02  |  1KB  |  67 lines

  1. program ReadSectSample;
  2.  
  3.  uses crt, DMT;
  4.  
  5.  var
  6.    SectorBuffer : array[ 1..512 ] of byte;
  7.  
  8.    SectToRead,
  9.    HeadToRead,
  10.    CylToRead,
  11.    BytesCount   : word;
  12.  
  13.    DrvLetter    : char;
  14.  
  15. begin
  16.   Color( 7, 0 );
  17.   clrscr;
  18.  
  19.   write( 'Select drive ( A-Z ) [ :]');
  20.   gotoxy( wherex - 3, wherey );
  21.   DrvLetter := upcase( readkey );
  22.   writeln( DrvLetter );
  23.  
  24.   writeln;
  25.   write( 'Enter HEAD number to read     : ');
  26.   readln( HeadToRead );
  27.   write( 'Enter CYLINDER number to read : ');
  28.   readln( CylToRead );
  29.   write( 'Enter SECTOR number to read   : ');
  30.   readln( SectToRead );
  31.  
  32.   ReadSect( DrvLetter, HeadToRead, CylToRead, SectToRead, 1, addr( SectorBuffer ) );    { Call ReadSect procedure }
  33.  
  34.   if ( ErrFlag ) then
  35.     begin
  36.       writeln( #7 );
  37.       writeln( ShowError( GetErrCode ) );
  38.     end
  39.   else
  40.     begin
  41.       clrscr;
  42.       writeln;
  43.       writeln( '           Head: ', HeadToRead, '   Track: ', CylToRead,'   Sector: ', SectToRead,
  44.                '   Drive: ', DrvLetter );
  45.  
  46.       BytesCount := 1;
  47.       writeln;
  48.  
  49.       { Displays contents of sector on screen }
  50.  
  51.       repeat
  52.         case char( SectorBuffer[ BytesCount ] ) of
  53.            #00, #07,
  54.            #08, #09,
  55.            #10, #13,
  56.            #01, #27 : write( '.' );
  57.            else
  58.              write( char( SectorBuffer[ BytesCount ] ) );
  59.         end;
  60.         inc( BytesCount );
  61.       until ( BytesCount = 512 );
  62.  
  63.       writeln;
  64.     end;
  65.  
  66.   GetEnter;
  67. end.